Secure computation is a field of electronic data processing where a part of processed data may be private. Private data may be for example data that is provided by a party and that should not be revealed to a further party. An example situation that may be faced by secure computation includes two parties that provide private data and desire to compute a joint function using the private data as input.
As an example, a secure computation protocol may be implemented between the two parties. The protocol may coordinate data exchanges and data computations to provide a level of security to each party that the private data remains private. A protocol may involve a trusted third party that receives the private data of the two parties and processes them. However, a trusted third party may not be available for such a protocol and one of the two parties may not be willing to accept a trusted third party. In such cases, a two-party protocol may be used that involves only the two parties and still protects the private data to a certain level.
As an example, the two parties may be two enterprises that desire to benchmark confidential business data. More specifically, the two enterprises may desire to find out if costs to manufacture a specific product differ by more than twenty percent from the average cost of the two parties. The parties may not be willing to reveal the precise value of the costs but would like to compute a difference of the cost of the parties and compare the difference to the average cost. The two parties may want to receive a result that the difference is larger than twenty percent of the average cost or not but may not accept that more information about the cost is revealed.